package chapter03

object Test01_TestOperator {

  def main(args: Array[String]): Unit = {


    /**
     * 1、逻辑运算符
     * && 看第一个条件是true还是false 后面不执行
     *
     * & 短路 两边条件都执行、最终是false
     */
    val n = 1

    def m(n: Int): Int = {
      print("m被调用~！")
      return n;
    }

    println((4 > 5) && m(n) > 0)


    //2、判断字符串是否为空
    def isEmpty(str: String): Boolean = {
      return str != null && "".equals(str)
    }

    println(isEmpty(null))


    //3、赋值运算符

    val b: Byte = 10

    var i: Int = 12
    //    b += 1

    i += 1
    println(i)


    /**
     * TODO 4、位运算符
     * 左移两位相当于乘四 2的2次方
     * 左移三位相当于乘八
     * 左移四位相当于乘16
     *
     */
    val a: Byte = 60
    println(a << 3)
    println(a >> 2)


    val b1: Short = -13
    println(b1 << 2)
    println(b1 >> 2)
    println(b1 >>> 2)


    //5、运算本质
    val n1: Int = 12
    val n2: Int = 37

    println(n1.+(n2))
    println(n1 + (n2))

    println(1.34.*(1))
    println(1.34 toInt)



  }


}
